Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ...
Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо...
Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг...
Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п...
Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...
OSzone.net Microsoft Windows 7 Установка и загрузка Редактирование меню загрузки операционных систем, или куда пропал boot.ini RSS

Редактирование меню загрузки операционных систем, или куда пропал boot.ini

Текущий рейтинг: 4.43 (проголосовало 378)
 Посетителей: 642383 | Просмотров: 874326 (сегодня 12)  Шрифт: - +

Введение

В этой статье мне хотелось бы обобщить способы редактирования меню загрузки операционных систем на основе данных хранилища загрузки (Boot Configuration Data – BCD), которое используется в операционных системах Microsoft, начиная от Windows Vista. Его невозможно отредактировать с помощью текстового редактора, как это можно было сделать с boot.ini в Windows XP. Однако, редактирование BCD возможно с помощью консольной программы bcdedit.exe, находящейся в системной папке Windows\System32. Для работы с этой программой необходимо обладать правами администратора. Также с ней можно работать в командной строке среды восстановления.

Редактирование меню загрузки с помощью средства «Конфигурация системы»

*
Увеличить рисунок

Чтобы открыть окно «Конфигурация системы», нажмите кнопку "Пуск" и клавишу с буквой R (далее - Win+R). В строке «Выполнить» наберите msconfig, нажмите Enter. Откроется окно конфигурации системы. Перейдите на вкладку «Загрузка».

Данный инструмент дает возможность:

  • получить информацию о текущей и загружаемой по умолчанию системах;
  • отредактировать время (таймаут), по истечении которого будет загружена операционная система, определенная для загрузки по умолчанию без вмешательства пользователя;
  • изменить систему, загружаемую по умолчанию;
  • удалить ненужную запись из меню загрузки.

В верхней части открывшейся вкладки находится поле со списком операционных систем. Справа каждой записи добавлен комментарий об операционной системе, в которую выполнен вход, и системе, загружаемой по умолчанию.

Для изменения системы, загружаемой по умолчанию, выберите в поле списка запись о нужной операционной системе и нажмите кнопку «Загружать по умолчанию». В результате выполненной операции справа от названия появится соответствующий комментарий.

Редактирование таймаута труда не составляет: в нужном поле нужно установить желаемое количество секунд.

Для удаления ненужной записи выберите ее из списка и нажмите кнопку «Удалить».

После выполнения всех действий нажмите кнопку «Применить» и закройте окно конфигурации системы. Вам будет предложено перезагрузить компьютер, однако, если острой необходимости в этом нет, выберите кнопку «Выйти без перезагрузки». Изменения вы увидите во время следующей загрузки компьютера.

С помощью данного инструмента нельзя:

  • увидеть и выполнить операции с записями операционных систем, загружаемых с помощью других загрузчиков (например, Windows XP, загружаемой с помощью ntldr);
  • переименовать существующие записи;
  • изменить положение записи в меню загрузки.

Один из способов, позволяющий игнорировать запись о несуществующей системе в меню загрузки: установите текущую систему загружаемой по умолчанию, а таймаут установите равным нулю.

Редактирование меню загрузки с помощью окна «Загрузка операционной системы»

*
Увеличить рисунок

Открыть окно «Загрузка операционной системы» можно так: Пуск – «Панель управления\Все элементы панели управления\Система» или, если включено отображение элементов управления Панели инструментов по категориям: «Панель управления\Система и безопасность\Система». Далее: «Дополнительные параметры системы», в открывшемся окне перейдите на вкладку «Дополнительно». Также можете воспользоваться возможностями поиска Windows 7 и в поле поиска написать «Расш», в открывшемся списке выбрать «Просмотр расширенных параметров системы». В рамке «Загрузка и восстановление» нажмите кнопку «Параметры». Нас будет интересовать верхняя часть окна: «Загрузка».

С помощью данного окна вы сможете:

  • увидеть список операционных систем, находящийся в меню загрузки;
  • отредактировать время (таймаут), в течение которого будет виден этот список;
  • изменить систему, загружаемую по умолчанию.

Как мы видим, данный инструмент не особо отличается от предыдущего, за исключением нескольких деталей. И если в Windows XP была кнопка «Правка», нажав на которую пользователь имел возможность самостоятельно править загрузочное меню, то, начиная с Windows Vista, такой простой способ отсутствует. С помощью данного меню вам так же недоступны функции удаления записей из меню загрузки, их переименование, изменение их положения и удаление.

Редактирование меню загрузки с помощью bcdedit.exe

Программа bcdedit.exe - тот инструмент, который позволяет делать с вашим меню загрузки все, что вам нужно. Хочу предупредить: необдуманные и неправильные действия могут привести к невозможности загрузки операционных систем. Поэтому, прежде чем приступать, подготовьте установочный диск с операционной системой, создайте диск восстановления, сделайте резервную копию данных хранилища загрузки.

Создайте на любом из разделов папку для резервной копии. Назовите ее BCDREZ. Выполните:

bcdedit /export X:\BCDREZ\bcd

где X - буква раздела с находящейся на нем папкой BCDREZ.

В любом случае вы сможете вернуться к исходной точке, выполнив экспорт BCD из резервной копии:

bcdedit /import X:\BCDREZ\bcd

Напомню еще раз - все команды этой утилиты выполняются в командной строке, запущенной с правами администратора или в командной строке среды восстановления.

Анализ данных и параметры хранилища загрузки

Для того, чтобы грамотно вносить изменения, нужно познакомиться со структурой того, куда эти изменения вносятся. Информация о BCD представлена в виде двух столбцов: в левом столбце расположены названия параметров, а в правом – их значения. Я не преследую цель подробно описать каждую микрокоманду или идентификатор, а остановлюсь только на касающихся меню загрузки. Чтобы увидеть ту часть BCD, которая отвечает за загрузку установленных на вашем компьютере операционных систем и их отображение в меню загрузки, выполните:

bcdedit

*
Увеличить рисунок

Некоторые значения параметров BCD записаны в фигурных скобках – {}. Это идентификаторы – ID. Любой идентификатор имеет буквенно-цифровой код вида {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}. Стандартные идентификаторы имеют названия, например: {default}, {bootmgr}, {ntldr} и так далее.

Остановимся на параметрах, которые нас интересуют:

  • идентификатор – ID той или иной записи;
  • device – показывает раздел, на котором расположены файлы загрузки (это может быть операционная система или папка BOOT);
  • osdevice – показывает раздел, на котором расположены системные файлы операционной системы. Обычно, значения параметров device и osdevice равны;
  • path – если device определял раздел диска, который содержит файлы операционной системы, то этот параметр определяет остальной путь к загрузчику операционной системы;
  • default – показывает ID операционной системы, загружаемой по умолчанию, если операционная система, в которой запустили командную строку, загружается по умолчанию, параметру default присваивается значение {current};
  • displayorder – показывает порядок, в котором расположены записи о загружаемых системах;
  • timeout – таймаут (смотри выше), значение показано и устанавливается в секундах;
  • locale – указывает язык загрузочного меню или меню дополнительных параметров загрузки;
  • description – показывает название операционной системы, отображающееся в меню загрузки.

Это, конечно, далеко не полный, но, в рамках данной статьи, вполне достаточный перечень.

Все команды bcdedit.exe, в которых отсутствует команда set  с дальнейшим указанием идентификатора, выполняются для диспетчера загрузки. Вы должны это помнить, потому что, желая что-то изменить в записи операционной системы и забыв указать ее идентификатор, вы вносите изменения в диспетчер. Хорошо, если все ограничится «восстановлением запуска».

Прежде чем продолжить, допустим, что наше меню загрузки содержит три записи с идентификаторами {ID1}, {ID2}, {ID3}.

Назначение системы, загружаемой по умолчанию

Здесь все просто – в зависимости от того, какую систему мы хотим загружать по умолчанию, ID той системы и пишем в команде. Например, для системы с ID2 команда:

bcdedit /default {ID2}

Но эта команда не перемещает запись о системе, загружаемой по умолчанию, на верхнюю строчку меню загрузки.

Изменение расположения записей в меню загрузки

Существует 3 способа изменить расположение записей:

bcdedit /displayorder {ID} /addlast
bcdedit /displayorder {ID} /addfirst
bcdedit /displayorder {ID3} {ID1} {ID2}
  1. использовать команду для перемещения выбранной записи вниз списка:
  2. использовать команду для перемещения выбранной записи вверх списка:
  3. использовать команду для формирования меню в выбранном порядке:

Изменение таймаута

bcdedit /timeout XX

где XX – время в секундах.

Изменение языка диспетчера загрузки

bcdedit /locale ln-Ln

где ln-Ln – выбранное обозначение языка. Для русского – это ru-Ru, для английского – en-Us, для немецкого – de-De, для украинского – uk-UA и т.д.

Здесь нужно сделать оговорку. После операции восстановления запуска параметры диспетчера загрузки становятся англоязычными, несмотря на то, что значение параметра locale не изменяется. Как исправить ситуацию, смотрите здесь.

Удаление записи о загрузке системы

bcdedit /displayorder {ID2} /remove

Эту команду лучше использовать для временного исключения записи загрузки из меню. При выполнении этой команды запись о параметрах выбранной системы не удаляется из BCD и при необходимости может быть восстановлена любой из вышеназванных команд bcdedit /displayorder.

Работа с записями операционных систем в BCD

Так как изменения касаются конкретных записей, в команде обязательно должен быть ID этой записи.

Изменение названия загружаемой системы

Такая необходимость обычно возникает после использования среды восстановления, когда после названия операционной системы появляется дописка - (восстановлено), или когда хочется исправить "Предыдущая версия Windows" на более понятное "Windows XP".

Команда:

bcdedit /set {ID} description "Новое название"

Изменение буквы раздела, на котором расположена папка операционной системы и ее загрузочные файлы

bcdedit /set {ID} device partition=X:
bcdedit /set {ID} osdevice partition=X:

где X – буква раздела жесткого диска.

Как правило значения device и osdevice совпадают.

Изменение языка меню дополнительных вариантов загрузки

Для изменения языка меню дополнительных вариантов загрузки (при нажатии F8 после наведения на строку меню с нужной операционной системой) выполните команду с указанием ID операционной системы:

bcdedit /set {ID} locale ln-Ln

что такое ln-Ln – описано выше.

Добавление записей операционных систем в BCD и меню загрузки

Вариантов для выполнения этой процедуры много, но остановимся на самых популярных или нетрудоемких.

Добавление Windows XP

Довольно подробно этот процесс с необходимыми пояснениями описан в статье Установка Windows XP на компьютер с Windows 7. Здесь я всего лишь объединю выполняемые команды:

bcdedit /create {ntldr} /d "Microsoft Windows XP"
bcdedit /set {ntldr} device partition=C:
bcdedit /set {ntldr} path \ntldr
bcdedit /displayorder {ntldr} /addlast

Добавление Windows Vista или Windows 7

Если добавляемая система – Windows Vista или Windows 7 можно автоматизировать процесс, воспользовавшись средой восстановления и одной из ее опций – «восстановление запуска». В этом случае в BCD будет создана новая запись о загрузке и добавлен пункт меню в диспетчер загрузки. Такой же эффект вы получите при использовании команды:

bootrec /rebuildbcd

Если утилита найдет на компьютере операционную систему, запись о которой отсутствует в BCD, такая запись также будет создана.

Можно воспользоваться методом, описанным выше, то есть начать с команды:

bcdedit /create /d " Microsoft Windows Vista " /application OSLOADER

Но этот способ трудоемок и не лишен вероятности сделать многочисленные ошибки. Проще воспользоваться копированием уже существующей записи и изменить значения параметров device и osdevice на соответствующие добавляемой операционной системе. Допустим, что вы работаете в Windows 7. Выполните:

bcdedit /copy {current} /d "Microsoft Windows Vista"

в результате выполнения команды вы получите сообщение «Запись успешно скопирована в {хххххххх-хххх-хххх-хххх-хххххххххххх}». Далее выполните:

bcdedit /set {хххххххх-хххх-хххх-хххх-хххххххххххх} device partition=X:
bcdedit /set {хххххххх-хххх-хххх-хххх-хххххххххххх} osdevice partition=X:

где X – буква раздела, на котором находится операционная система. Код, который обозначен крестиками, вводите внимательно, а лучше скопируйте и вставляйте в команды с помощью правой кнопки мыши. Наконец, выполните команду, добавляющую новую запись в диспетчер загрузки:

bcdedit /displayorder {хххххххх-хххх-хххх-хххх-хххххххххххх} /addlast

Как вы понимаете, запись будет добавлена внизу существующего списка.

Добавление записи загрузки операционной системы, установленной на виртуальный жесткий диск

Если вы установили Windows 7 на виртуальный жесткий диск и хотите добавить запись в диспетчер загрузки, воспользуйтесь способом, описанным выше, но с учетом особенностей загрузки с VHD. Полученный после выполнения команды bcdedit /copy… буквенно-цифровой код в командах обозначен как {ID}:

bcdedit /copy {current} /d "Загрузка с VHD"
bcdedit /set {ID} device vhd=[X:]\DIR\filename.vhd
bcdedit /set {ID} osdevice vhd= [X:]\DIR\filename.vhd
bcdedit /set {ID} detecthal on
bcdedit /displayorder {ID} /addlast

где [X:]\DIR\filename.vhd – полный путь к файлу VHD и указание имени файла.

Удаление записи загрузки системы из BCD и диспетчера загрузки

Удаление записи об установленной операционной системе из BCD и диспетчера загрузки выполняется с помощью команды

bcdedit /delete {ID}

Есть особенность выполнения команды: если в качестве ID указывается известная запись, например {ntldr}, то команда должна выполняться с ключом /f:

bcdedit /delete {ntldr} /f

Если же ID записывается в буквенно-цифровом коде, ключ /f не нужен. При выполнении этой команды данные об удаляемой операционной системе удаляются и из BCD, и из диспетчера загрузки. В этом ее основное отличие от команды

bcdedit /displayorder {ID} /remove

Для желающих овладеть более широкими возможностями: выполните команду

bcdedit /delete /?

Заключение

Управление загрузкой Windows 7 отличается от того, которое использовалось в Windows XP/2000. Некоторые параметры меню загрузки можно изменить в графическом интерфейсе операционной системы, но наибольшие возможности предоставляет утилита командной строки bcdedit.exe. Дополнительную информацию о возможностях программы, командах и параметрах можно получить из встроенной справки: bcdedit /?


Статья опубликована в рамках конкурса "Наш выбор - Windows 7!". Оригинальный стиль автора сохранен.

Автор: Аркадий Пилипенко aka okshef  •  Иcточник: www.oszone.net  •  Опубликована: 30.12.2009
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER


Оценить статью:
Вверх
Комментарии посетителей
31.12.2009/01:46  Admiral

Любопытно, почему MS в русской локализации из параметров перевела только "идентификатор", а "device", "osdevice" и т.д. оставил как в английской?
Не знал про третий способ (/displayorder {ID3} {ID1} {ID2}), спасибо. Думал что в этих случаях (более 2х записей в загрузчике) нужно несколько раз работать с комбинациями /addlast /addfirst, для приведения списка записей к нужному порядку.
Интересно, а в каких случаях device и osdevice не совпадают?
04.01.2010/22:35  okshef

По локализации: видимо очень специфические параметры, то же самое касается "description" Случаи несовпадения device и osdevice при загрузке OS не встречал, к сожалению. А вот когда речь идет о бут-менеджере и winload.exe - сколько угодно. Только при задании параметров bootmgr параметр osdevice отсутствует.
Для всех, кто находит в интернете информацию о том, что с помощью boot.ini можно отредактировать меню загрузки Windows Vista/7 - вас обманывают.
05.02.2010/13:14  anodonta.com.ua

В Windows до выхода 7 был файл boot.ini
В случае его удаления с компьютера (в результате действий пользователя) можно было загрузиться с загрузочного носителя и добавить (скопировать) такой текстовый файлик обратно.
Как теперь повторить (предотвратить) подобное в Windows 7?
08.02.2010/11:38  okshef

anodonta.com.ua, не ясно, что вы имеете ввиду. Если у вас нет на компьютере Windows XP, то отсутствие boot.ini загрузке не помеха.
09.02.2010/00:15  B00M

а какие параметры комадны SET нужны для добавления в меню загрузки MS-DOS?
27.02.2010/21:55  okshef

Загрузка MS-DOS, как и Windows 98, осуществляется без участия BCD
11.03.2011/01:26  alfonder

okshef, вы неправы.
B00M, для загрузки ДОСа надо ввести следующее:
bcdedit /create /d "MS-DOS" /application bootsector
bcdedit /set {GUID} device boot
bcdedit /set {GUID} path \bootsect.bak
bcdedit /displayorder {GUID} /addlast
Подробнее описано здесь http://progressor21.blogspot.com/2011/03/doswindows-9x-windows-7.html
10.05.2011/00:47  okshef

alfonder, это уже обсуждалось. Начните читать
http://forum.oszone.net/post-1587759.html#post1587759
А вообще вся тема посвящена этому вопросу
04.07.2011/18:23  biggg

Уважаемый Админ, все то что здесь написано выдается и без Вашего участия системой по запросу: bcdedit /? , а не мобгли бы Dы уточнить все таки: КАК ЖЕ ДОБАВИТЬ СИСТЕМУ В СПИСОК ЗАГРУЗКИ (без маниакальных манипуляций с болванками XP) ...
заранее благодарен, biggg
11.08.2012/10:35  VAneK19

Здорова пацаны. установил две 7 и не могу сделать как выбирать с какой грузиться. вот как у вас написано захожу в Конфигурация системы - загрузки и там одна система стоит подскажите как сделать чтоб я выбирал с какой грузиться
11.08.2012/19:03  okshef

Создайте тему на форуме.

ТРЕБУЕТСЯ ПОМОЩЬ!!!!!
Имеется комп, ДВА жёстких диска, по одному разделу на каждом диске, на первом стоит Windows7(x64), на втором WindowsXP.
НЕ МОГУ ПРОПИСАТЬ в bcdedit.
Пробовал разные варианты, грузится только 7-ка, а если меняешь (перетыкаешь) диски, то XP-ха.
На другом компе где 7-ка и ХР-ха стоят на одном жёстком диске, но на разных разделах, всё прописывается НА УРА!
УВАЖАЕМЫЕ ЗНАТОКИ! Напишите как правильно указать, что ХР-ха стоит на другом физическом диске.
А лучше напишите пример полностью! Думаю многие сталкивались с подобным "камнем преткновения".
З/Благодарю!
31.03.2013/20:20  okshef

Тема для вопросов http://forum.oszone.net/thread-196715.html
Комментарии отключены. С вопросами по статьям обращайтесь в форум.